iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0

上一篇文章已經教大家如何在 Ubuntu 20.04 安裝 CVE-Search 伺服器,今天當然就是要來講如何在 OCS Inventory 使用 CVE 報告,把每天盤點到的所有軟體與 CPE 幾十多萬筆的受漏洞影響的產品進行比對,然後告知您是哪些 CVE 漏洞與資訊。

先到 Configuration 的 General Configuration

選擇 Server 頁面,開啟 Advance Configuration。

記得登出再重新登入,CVE-Search Management 才會出現在 General Configuration。

選擇 CVE-Search Management 頁面,依序調整如下。

  • VULN_CVESEARCH_ENABLE:啟用 CVE Reporting
  • VULN_CVESEARCH_HOST:填入 CVE-Search Host 的 URL
  • VULN_CVESEARCH_VERBOSE:啟用 CVE Reporting 日誌功能
  • VULN_CVESEARCH_ALL:啟用獲取所有軟體版本對應的 CVE

由於 OCS Inventory 會透過 5000 埠號來存取 CVE-Search 的資料,記得到 CVE-Search 伺服器的網路安全群組允許 OCS Inventory 來源 IP 存取 5000 埠號喔。

執行 CVE 掃描
透過下列指令來對 OCS Inventory 盤點到的軟體進行 CVE 掃描

cd /usr/share/ocsinventory-reports/ocsreports/crontab/
sudo php cron_cve.php

若是使用 Docker Compose 建置 CVE-Search 的朋友,網頁伺服器使用的是自簽憑證,需要修改一下 cron_cve.php 程式。

sudo vi cron_cve.php

把下列兩行取消註解即可

// Uncomment if using a self-signed certificate on CVE server
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

掃描結果如下,需啟用 CVE Reporting 日誌功能才能看到喔。

Get software publisher ...
Software publisher OK ... 
CVE treatment started ... 
Please wait, CVE processing is in progress. It could take a few hours
Processing Adobe softwares ...
Processing Adobe Systems Incorporated softwares ...
Processing ASUSTOR softwares ...
...略...
Processing Xamarin softwares ...
Processing Zabbix SIA softwares ...
Processing ZOHO Corp. softwares ...
Processing 中華郵政 softwares ...
Processing 合作金庫銀行 softwares ...
Processing 鼎新電腦股份有限公司 softwares ...
0 CVE has been added to database


天狼星的毫無破綻之眼發動了

我的筆電好像有點強,不行這樣我得挖個洞。

來測試官方所列的範例 CVE-2017–3813 好了

該漏洞需要安裝 Cisco AnyConnect Secure Mobility Client 4.1.04011 版本
http://ftp.nprts.ru/net/vpn/archive/anyconnect-win-4.1.04011-pre-deploy-k9.msi

但是你會發現還是沒掃出來,冏。

CVE 正規表達式
在某些情況下,作業系統上的軟體資訊與真實發布者名稱可能不匹配,從而導致 CVE 掃描無效。

例如,您會看到我們的 Cisco 軟體的發布者名稱為 Cisco Systems, Inc.

但是在 CVE 的官方參考,這不是正確的名稱。

為了使 CVE 掃描更可靠,OCS Inventory 團隊創建了一個匹配引擎。

允許更改或替換 CVE 掃描上的發布者與軟體名稱。將此功能視為字典,但僅針對 CVE 掃描。

新增 CVE 正規表達式
先到 Manage 的 CVE Inventory

點選 New Matching Regex,填入想要更改的發布者與軟體名稱,送出。

在 Match List 可以查看跟刪除建立的規則

重新掃描結果如下,可以看到掃到了7 個 CVE 漏洞。

Get software publisher ...
Software publisher OK ... 
CVE treatment started ... 
Please wait, CVE processing is in progress. It could take a few hours
Processing Adobe softwares ...
Processing Adobe Systems Incorporated softwares ...
Processing ASUSTOR softwares ...
Processing Cisco Systems, Inc. softwares ...
CVE-2018-0100 has been referenced for Cisco AnyConnect Secure Mobility Client
CVE-2014-3314 has been referenced for Cisco AnyConnect Secure Mobility Client
CVE-2021-1258 has been referenced for Cisco AnyConnect Secure Mobility Client
CVE-2021-1519 has been referenced for Cisco AnyConnect Secure Mobility Client
CVE-2017-3813 has been referenced for Cisco AnyConnect Secure Mobility Client
CVE-2017-6638 has been referenced for Cisco AnyConnect Secure Mobility Client
CVE-2021-34788 has been referenced for Cisco AnyConnect Secure Mobility Client
Processing Digiwin softwares ...
Processing Eclipse Foundation softwares ...
...略...
Processing Xamarin softwares ...
Processing Zabbix SIA softwares ...
Processing ZOHO Corp. softwares ...
Processing 中華郵政 softwares ...
Processing 合作金庫銀行 softwares ...
Processing 鼎新電腦股份有限公司 softwares ...
7 CVE has been added to database

CVE 報告
先到 Inventory 的 CVE Reporting

我們可以透過 CVSS 嚴重性評級來排序

或是使用哪些軟體有漏洞來排序

又或是使用計算機的名稱來排序

若該清單是空的,請記得執行 cron_cve_computer.php 進行更新

sudo php cron_cve_computer.php

設定排程
確定都沒問題後,我們就可以設定每日定期掃描 CVE 漏洞。

sudo crontab -e
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command

30 8 * * * cd /usr/share/ocsinventory-reports/ocsreports/crontab/ && php cron_all_software.php
30 10 * * * cd /usr/share/ocsinventory-reports/ocsreports/crontab/ && php cron_cve.php
30 12 * * * cd /usr/share/ocsinventory-reports/ocsreports/crontab/ && php cron_cve_computer.php

排除清單
如果公司某些無法汰換的舊系統使用到有漏洞的軟體版本,而且廠商也已經不再維護,甚至已經倒閉了怎麼辦。

若我們已經透過某些手段讓該系統處於相對安全的環境而且願意承擔這樣的風險,我們可以透過設定排除清單使其不要在 CVE Reporting 顯示。

首先到 Manage 的 Software Category

點選 New Category,填入軟體的名稱,Send 送出。

再點選 Add Software,設定版本資訊,Send 送出。

雖然已經設定完 Software Category,但仍需要等待下一次的盤點觸發才會被計算入,我們先手動觸發。

同樣的先手動執行更新 All Software 頁面想要看到統計資料

php cron_all_software.php

回到 Inventory 的 All Software

可以看到 VMware Player 已經有 Count 數量產生,代表已經生效了。

回到 CVE-Search Management 頁面,排除清單新增 一筆 VMware Player。

使用哪些軟體有漏洞來排序,可以看到 VMware Player 就消失不見了。

只要整合 CVE-Search 的功能,OCS Inventory 可以每天把盤點到的所有軟體與 CPE 46 萬多筆的受漏洞影響的產品進行比對,然後告知您是哪些 CVE 漏洞與資訊,可以說是相當實用的功能,大家一定要試看看。

大量部署代理程式後,再回頭來看 CVE Reporting 會更有感覺。

使用哪些軟體有漏洞來排序

又或是使用計算機的名稱來排序

接下來我們準備使用 OCS Packager 封裝 Windows 代理程式並大量部署,不過若你想要使用 OCS Inventory 的套件部署或者 IpDiscover 等進階功能,您需要安裝 SSL 證書以用於您的部署服務器。

下一篇我們來介紹如何在 OCS Inventory 使用自簽憑證或 Let's Encrypt 保護 Apache,敬請期待。

參考文件
https://wiki.ocsinventory-ng.org/04.Management-console-and-its-advanced-features/CVE-Search-management/


上一篇
如何在 Ubuntu 20.04 安裝 CVE-Search 伺服器
下一篇
如何在 OCS Inventory 使用自簽憑證或 Let's Encrypt 保護 Apache
系列文
OCS Inventory:開源資產管理解決方案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言